//package com.example.project.activity.wode;
//
//import android.content.res.Resources;
//import android.os.Bundle;
//import android.app.Activity;
//import android.view.View;
//import android.widget.Button;
//
//import com.example.project.R;
//
//import java.io.DataOutputStream;
//import java.io.InputStream;
//import java.io.IOException;
//import java.net.HttpURLConnection;
//import java.net.MalformedURLException;
//import java.net.URL;
//import java.util.UUID;
//
//
//
//public class HttpImageUpload extends Activity {
//    public Button tv_btn;
//    public URL url;
//    @Override
//
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.image);
//        tv_btn= (Button) findViewById(R.id.tv_btn);
//        try {
//            url=new URL("http://ly-and-tl.uicp.cn:42696/AndroidServer/HttpImageUpload");
//        } catch (MalformedURLException e) {
//            e.printStackTrace();
//        }
//        tv_btn.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                new httpImgThread(url).start();
//            }
//        });
//    }
//    class httpImgThread extends Thread{
//        URL URL;
//        String prefix="--";//结尾要在分隔符后加这个
//        //分隔符其实可以很随意指定数字，多少位都行，但注意的是正文比请求头的分隔符多出两个中杠
//        String boundary=UUID.randomUUID().toString();
//        String end="\r\n";//换行
//        httpImgThread(URL l){
//            URL=l;
//            System.out.println(boundary);
//        }
//        @Override
//        public void run() {
//            try {
////        	   第三种请求体的请求体被分成为多个部分，文件上传时会被使用，
////        	   这种格式最先应该是被用于邮件传输中，每个字段/文件都被boundary（Content-Type中指定）分成单独的段，
////        	   每段以-- 加 boundary开头，然后是该段的描述头，描述头之后空一行接内容
//                HttpURLConnection con=(HttpURLConnection)URL.openConnection();
//                con.setRequestMethod("POST");
//                con.setDoOutput(true);//允许输出
//                con.setDoInput(true);//允许输入
//                //数据类型表单的形式，分隔符指定
//                con.setRequestProperty("Connection:", "keep-alive");
//                //请求消息头，以表单的形式发送数据到服务端，指定分隔符隔开不同的文件数据
//                //muiltipart/form-data可以以二进制方式上传文件
//                con.setRequestProperty("Content-Type","multipart/form-data;boundary=" + boundary);
//                DataOutputStream out=new DataOutputStream(con.getOutputStream());
//                //分隔符换行，正文开始
//                out.writeBytes(prefix+boundary+end);
//                //指定键名，键值,name是控件的name，根据他后台找出对应图片，一个name标识一个文件
//                //含有filename会被当成一个文件
//                out.writeBytes("Content-Disposition:form-data;name=\"ooo\";"
//                        +"fliename=\"upload.png\" " +end);
//                out.writeBytes(end);
//                //图片数据难点
//                Resources r = HttpImageUpload.this.getBaseContext().getResources();
//                //取得对应图片的输入流，图片名字可以和最终写入的文件名不一致
//                //图片格式可以是png也可以是jpg
//                InputStream is = r.openRawResource(R.drawable.w);
//                byte[] b=new byte[1024*4];
//                int len=0;
//                //读取图片数据
//                while((len=is.read(b))!=-1){
//                    //is输入流读出来暂存到b中
//                    out.write(b,0,len);
//                    //将b中的数据写入out输出流中，从0开始的len个字节
//                }
//                //换行
//                out.writeBytes(end);
//                //分隔符换行后面多加--
//                out.writeBytes(prefix + boundary + prefix + end);
//                //并不发送，是清空缓冲区残存的的数据流
//                out.flush();
//                //下面才是发送请求并拿到返回的输入流
//                InputStream in=con.getInputStream();
//                if(out!=null)out.close();
//                if(is!=null)is.close();
//                if(in!=null) in.close();
//
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//}